#pragma once
#include <vector>
#include "MoveSystem.h"

class UndoStack {
public:
    void push(const GameState& s) { stack.push_back(s); }
    bool canUndo() const { return !stack.empty(); }
    GameState pop() { GameState s = stack.back(); stack.pop_back(); return s; }
    void clear() { stack.clear(); }
private:
    std::vector<GameState> stack;
};